<html>
<head>
<title>unit tests coverage</title>
<link rel ="stylesheet" type="text/css" href="../../../../style.css" title="Style">
</head>
<body>
<span class="title">Coverage report</span>
<p>
  <table cellspacing="0" cellpadding="0" class="report">
  <tr class="report">
    <th class="report">&nbsp;</th>
    <th class="report">%line</th>
    <th class="report">%branch</th>
  </tr>
  <tr class="report">
    <td class="reportText"><span class="text">org.apache.torque.task.TorqueJDBCTransformTask</span></td>
    <td class="reportValue"><table class="percentGraph" cellpadding="0" cellspacing="0" align="right"><tr><td><span class="text">0%&nbsp;</span></td><td><table class="percentGraph" cellpadding="0" cellspacing="0"><tr><td class="percentCovered" width="0"></td><td class="percentUnCovered" width="100.0"></td></tr></table></td></tr></table></td>
    <td class="reportValue"><table class="percentGraph" cellpadding="0" cellspacing="0" align="right"><tr><td><span class="text">0%&nbsp;</span></td><td><table class="percentGraph" cellpadding="0" cellspacing="0"><tr><td class="percentCovered" width="0"></td><td class="percentUnCovered" width="100.0"></td></tr></table></td></tr></table></td>
  </tr>
  </table>
  <p>
  <table cellspacing="0" cellpadding="0" class="src">
    <tr>
      <td class="numLine">&nbsp;1</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="keyword">package</span> org.apache.torque.task;</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;2</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;3</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">/*</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;4</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment"> * Licensed to the Apache Software Foundation (ASF) under one</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;5</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment"> * or more contributor license agreements.  See the NOTICE file</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;6</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment"> * distributed with this work for additional information</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;7</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment"> * regarding copyright ownership.  The ASF licenses this file</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;8</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment"> * to you under the Apache License, Version 2.0 (the</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;9</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment"> * "License"); you may not use this file except in compliance</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;10</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment"> * with the License.  You may obtain a copy of the License at</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;11</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment"> *</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;12</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment"> *   http://www.apache.org/licenses/LICENSE-2.0</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;13</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment"> *</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;14</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment"> * Unless required by applicable law or agreed to in writing,</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;15</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment"> * software distributed under the License is distributed on an</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;16</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment"> * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;17</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment"> * KIND, either express or implied.  See the License for the</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;18</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment"> * specific language governing permissions and limitations</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;19</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment"> * under the License.</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;20</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment"> */</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;21</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;22</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="keyword">import</span> java.io.FileOutputStream;</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;23</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="keyword">import</span> java.io.PrintWriter;</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;24</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="keyword">import</span> java.sql.Connection;</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;25</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="keyword">import</span> java.sql.DatabaseMetaData;</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;26</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="keyword">import</span> java.sql.DriverManager;</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;27</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="keyword">import</span> java.sql.ResultSet;</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;28</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="keyword">import</span> java.sql.SQLException;</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;29</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="keyword">import</span> java.sql.Types;</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;30</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="keyword">import</span> java.util.ArrayList;</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;31</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="keyword">import</span> java.util.Collection;</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;32</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="keyword">import</span> java.util.Hashtable;</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;33</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="keyword">import</span> java.util.Iterator;</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;34</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="keyword">import</span> java.util.List;</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;35</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;36</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="keyword">import</span> org.apache.commons.lang.StringUtils;</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;37</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="keyword">import</span> org.apache.tools.ant.BuildException;</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;38</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="keyword">import</span> org.apache.tools.ant.Project;</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;39</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="keyword">import</span> org.apache.tools.ant.Task;</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;40</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="keyword">import</span> org.apache.torque.engine.database.model.TypeMap;</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;41</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="keyword">import</span> org.apache.torque.engine.database.transform.DTDResolver;</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;42</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="keyword">import</span> org.apache.xerces.dom.DocumentImpl;</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;43</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="keyword">import</span> org.apache.xerces.dom.DocumentTypeImpl;</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;44</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="keyword">import</span> org.apache.xml.serialize.Method;</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;45</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="keyword">import</span> org.apache.xml.serialize.OutputFormat;</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;46</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="keyword">import</span> org.apache.xml.serialize.XMLSerializer;</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;47</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="keyword">import</span> org.w3c.dom.Element;</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;48</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;49</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">/*<span class="comment">*</span></span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;50</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment"> * This class generates an XML schema of an existing database from</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;51</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment"> * JDBC metadata.</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;52</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment"> *</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;53</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment"> * @author &#60;a href="mailto:jvanzyl@periapt.com"&#62;Jason van Zyl&#60;/a&#62;</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;54</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment"> * @author &#60;a href="mailto:fedor.karpelevitch@barra.com"&#62;Fedor Karpelevitch&#60;/a&#62;</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;55</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment"> * @version $Id: TorqueJDBCTransformTask.java 502761 2007-02-02 21:52:05Z tfischer $</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;56</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment"> */</span></pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;57</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;<span class="keyword">public</span> <span class="keyword">class</span> TorqueJDBCTransformTask <span class="keyword">extends</span> Task</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;58</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;{</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;59</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;    <span class="comment">/*<span class="comment">* Name of XML database schema produced. */</span></span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;60</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;    <span class="keyword">protected</span> String xmlSchema;</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;61</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;62</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;    <span class="comment">/*<span class="comment">* JDBC URL. */</span></span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;63</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;    <span class="keyword">protected</span> String dbUrl;</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;64</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;65</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;    <span class="comment">/*<span class="comment">* JDBC driver. */</span></span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;66</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;    <span class="keyword">protected</span> String dbDriver;</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;67</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;68</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;    <span class="comment">/*<span class="comment">* JDBC user name. */</span></span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;69</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;    <span class="keyword">protected</span> String dbUser;</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;70</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;71</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;    <span class="comment">/*<span class="comment">* JDBC password. */</span></span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;72</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;    <span class="keyword">protected</span> String dbPassword;</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;73</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;74</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;    <span class="comment">/*<span class="comment">* DB schema to use. */</span></span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;75</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;    <span class="keyword">protected</span> String dbSchema;</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;76</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;77</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;    <span class="comment">/*<span class="comment">* DOM document produced. */</span></span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;78</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;    <span class="keyword">protected</span> DocumentImpl doc;</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;79</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;80</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;    <span class="comment">/*<span class="comment">* The document root element. */</span></span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;81</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;    <span class="keyword">protected</span> Element databaseNode;</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;82</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;83</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;    <span class="comment">/*<span class="comment">* Hashtable of columns that have primary keys. */</span></span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;84</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;    <span class="keyword">protected</span> Hashtable primaryKeys;</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;85</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;86</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;    <span class="comment">/*<span class="comment">* Hashtable to track what table a column belongs to. */</span></span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;87</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;    <span class="keyword">protected</span> Hashtable columnTableMap;</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;88</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;89</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;    <span class="keyword">protected</span> <span class="keyword">boolean</span> sameJavaName;</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;90</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;91</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;    <span class="keyword">private</span> XMLSerializer xmlSerializer;</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;92</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;93</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;    <span class="keyword">public</span> String getDbSchema()</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;94</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;    {</pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;95</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;        <span class="keyword">return</span> dbSchema;</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;96</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;    }</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;97</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;98</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;    <span class="keyword">public</span> <span class="keyword">void</span> setDbSchema(String dbSchema)</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;99</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;    {</pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;100</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;        <span class="keyword">this</span>.dbSchema = dbSchema;</span></pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;101</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;    }</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;102</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;103</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;    <span class="keyword">public</span> <span class="keyword">void</span> setDbUrl(String v)</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;104</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;    {</pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;105</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;        dbUrl = v;</span></pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;106</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;    }</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;107</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;108</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;    <span class="keyword">public</span> <span class="keyword">void</span> setDbDriver(String v)</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;109</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;    {</pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;110</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;        dbDriver = v;</span></pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;111</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;    }</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;112</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;113</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;    <span class="keyword">public</span> <span class="keyword">void</span> setDbUser(String v)</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;114</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;    {</pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;115</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;        dbUser = v;</span></pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;116</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;    }</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;117</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;118</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;    <span class="keyword">public</span> <span class="keyword">void</span> setDbPassword(String v)</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;119</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;    {</pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;120</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;        dbPassword = v;</span></pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;121</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;    }</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;122</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;123</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;    <span class="keyword">public</span> <span class="keyword">void</span> setOutputFile (String v)</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;124</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;    {</pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;125</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;        xmlSchema = v;</span></pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;126</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;    }</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;127</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;128</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;    <span class="keyword">public</span> <span class="keyword">void</span> setSameJavaName(<span class="keyword">boolean</span> v)</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;129</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;    {</pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;130</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;        <span class="keyword">this</span>.sameJavaName = v;</span></pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;131</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;    }</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;132</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;133</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;    <span class="keyword">public</span> <span class="keyword">boolean</span> isSameJavaName()</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;134</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;    {</pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;135</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;        <span class="keyword">return</span> <span class="keyword">this</span>.sameJavaName;</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;136</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;    }</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;137</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;138</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;    <span class="comment">/*<span class="comment">*</span></span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;139</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * Default constructor.</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;140</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     *</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;141</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * @throws BuildException</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;142</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     */</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;143</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;    <span class="keyword">public</span> <span class="keyword">void</span> execute() throws BuildException</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;144</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;    {</pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;145</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;        log(<span class="string">"Torque - JDBCToXMLSchema starting"</span>);</span></pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;146</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;        log(<span class="string">"Your DB settings are:"</span>);</span></pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;147</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;        log(<span class="string">"driver : "</span> + dbDriver);</span></pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;148</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;        log(<span class="string">"URL : "</span> + dbUrl);</span></pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;149</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;        log(<span class="string">"user : "</span> + dbUser);</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;150</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;        <span class="comment">// log("password : " + dbPassword);</span></pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;151</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;        log(<span class="string">"schema : "</span> + dbSchema);</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;152</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;</pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;153</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;        DocumentTypeImpl docType = <span class="keyword">new</span> DocumentTypeImpl(<span class="keyword">null</span>, <span class="string">"database"</span>, <span class="keyword">null</span>,</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;154</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;                DTDResolver.WEB_SITE_DTD);</pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;155</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;        doc = <span class="keyword">new</span> DocumentImpl(docType);</span></pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;156</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;        doc.appendChild(doc.createComment(</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;157</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;                <span class="string">" Autogenerated by JDBCToXMLSchema! "</span>));</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;158</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;159</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;        <span class="keyword">try</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;160</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;        {</pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;161</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;            generateXML();</span></pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;162</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;            log(xmlSchema);</span></pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;163</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;            xmlSerializer = <span class="keyword">new</span> XMLSerializer(</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;164</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;                    <span class="keyword">new</span> PrintWriter(</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;165</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;                    <span class="keyword">new</span> FileOutputStream(xmlSchema)),</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;166</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;                    <span class="keyword">new</span> OutputFormat(Method.XML, <span class="keyword">null</span>, <span class="keyword">true</span>));</pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;167</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;            xmlSerializer.serialize(doc);</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;168</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;        }</pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;169</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;        <span class="keyword">catch</span> (Exception e)</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;170</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;        {</pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;171</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;            <span class="keyword">throw</span> <span class="keyword">new</span> BuildException(e);</span></pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;172</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;        }</span></pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;173</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;        log(<span class="string">"Torque - JDBCToXMLSchema finished"</span>);</span></pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;174</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;    }</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;175</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;176</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;    <span class="comment">/*<span class="comment">*</span></span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;177</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * Generates an XML database schema from JDBC metadata.</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;178</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     *</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;179</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * @throws Exception a generic exception.</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;180</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     */</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;181</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;    <span class="keyword">public</span> <span class="keyword">void</span> generateXML() throws Exception</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;182</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;    {</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;183</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;        <span class="comment">// Load the Interbase Driver.</span></pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;184</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;        Class.forName(dbDriver);</span></pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;185</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;        log(<span class="string">"DB driver sucessfuly instantiated"</span>);</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;186</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;</pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;187</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;        Connection con = <span class="keyword">null</span>;</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;188</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;        <span class="keyword">try</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;189</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;        {</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;190</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;            <span class="comment">// Attempt to connect to a database.</span></pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;191</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;            con = DriverManager.getConnection(dbUrl, dbUser, dbPassword);</span></pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;192</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;            log(<span class="string">"DB connection established"</span>);</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;193</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;194</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;            <span class="comment">// Get the database Metadata.</span></pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;195</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;            DatabaseMetaData dbMetaData = con.getMetaData();</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;196</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;197</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;            <span class="comment">// The database map.</span></pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;198</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;            List tableList = getTableNames(dbMetaData);</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;199</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;</pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;200</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;            databaseNode = doc.createElement(<span class="string">"database"</span>);</span></pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;201</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;            databaseNode.setAttribute(<span class="string">"name"</span>, dbUser);</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;202</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;203</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;            <span class="comment">// Build a database-wide column -&#62; table map.</span></pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;204</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;            columnTableMap = <span class="keyword">new</span> Hashtable();</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;205</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;</pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;206</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;            log(<span class="string">"Building column/table map..."</span>);</span></pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;207</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;            <span class="keyword">for</span> (<span class="keyword">int</span> i = 0; i &#60; tableList.size(); i++)</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;208</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;            {</pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;209</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;                String curTable = (String) tableList.get(i);</span></pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;210</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;                List columns = getColumns(dbMetaData, curTable);</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;211</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;</pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;212</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;                <span class="keyword">for</span> (<span class="keyword">int</span> j = 0; j &#60; columns.size(); j++)</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;213</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;                {</pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;214</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;                    List col = (List) columns.get(j);</span></pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;215</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;                    String name = (String) col.get(0);</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;216</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;</pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;217</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;                    columnTableMap.put(name, curTable);</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;218</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;                }</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;219</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;            }</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;220</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;</pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;221</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;            <span class="keyword">for</span> (<span class="keyword">int</span> i = 0; i &#60; tableList.size(); i++)</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;222</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;            {</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;223</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;                <span class="comment">// Add Table.</span></pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;224</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;                String curTable = (String) tableList.get(i);</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;225</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;                <span class="comment">// dbMap.addTable(curTable);</span></pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;226</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;                log(<span class="string">"Processing table: "</span> + curTable);</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;227</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;</pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;228</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;                Element table = doc.createElement(<span class="string">"table"</span>);</span></pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;229</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;                table.setAttribute(<span class="string">"name"</span>, curTable);</span></pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;230</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;                <span class="keyword">if</span> (isSameJavaName())</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;231</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;                {</pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;232</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;                    table.setAttribute(<span class="string">"javaName"</span>, curTable);</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;233</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;                }</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;234</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;235</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;                <span class="comment">// Add Columns.</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;236</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;                <span class="comment">// TableMap tblMap = dbMap.getTable(curTable);</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;237</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;</pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;238</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;                List columns = getColumns(dbMetaData, curTable);</span></pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;239</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;                List primKeys = getPrimaryKeys(dbMetaData, curTable);</span></pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;240</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;                Collection forgnKeys = getForeignKeys(dbMetaData, curTable);</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;241</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;242</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;                <span class="comment">// Set the primary keys.</span></pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;243</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;                primaryKeys = <span class="keyword">new</span> Hashtable();</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;244</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;</pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;245</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;                <span class="keyword">for</span> (<span class="keyword">int</span> k = 0; k &#60; primKeys.size(); k++)</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;246</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;                {</pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;247</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;                    String curPrimaryKey = (String) primKeys.get(k);</span></pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;248</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;                    primaryKeys.put(curPrimaryKey, curPrimaryKey);</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;249</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;                }</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;250</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;</pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;251</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;                <span class="keyword">for</span> (<span class="keyword">int</span> j = 0; j &#60; columns.size(); j++)</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;252</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;                {</pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;253</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;                    List col = (List) columns.get(j);</span></pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;254</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;                    String name = (String) col.get(0);</span></pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;255</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;                    Integer type = ((Integer) col.get(1));</span></pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;256</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;                    <span class="keyword">int</span> size = ((Integer) col.get(2)).<span <span class="keyword">class</span>="keyword">int</span>Value();</span></pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;257</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;                    <span class="keyword">int</span> scale = ((Integer) col.get(5)).<span <span class="keyword">class</span>="keyword">int</span>Value();</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;258</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;259</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;                    <span class="comment">// From DatabaseMetaData.java</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;260</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;                    <span class="comment">//</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;261</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;                    <span class="comment">// Indicates column might not allow NULL values.  Huh?</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;262</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;                    <span class="comment">// Might? Boy, that's a definitive answer.</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;263</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;                    <span class="comment">/*<span class="comment"> int columnNoNulls = 0; */</span></span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;264</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;265</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;                    <span class="comment">// Indicates column definitely allows NULL values.</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;266</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;                    <span class="comment">/*<span class="comment"> int columnNullable = 1; */</span></span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;267</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;268</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;                    <span class="comment">// Indicates NULLABILITY of column is unknown.</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;269</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;                    <span class="comment">/*<span class="comment"> int columnNullableUnknown = 2; */</span></span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;270</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;</pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;271</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;                    Integer nullType = (Integer) col.get(3);</span></pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;272</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;                    String defValue = (String) col.get(4);</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;273</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;</pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;274</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;                    Element column = doc.createElement(<span class="string">"column"</span>);</span></pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;275</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;                    column.setAttribute(<span class="string">"name"</span>, name);</span></pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;276</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;                    <span class="keyword">if</span> (isSameJavaName())</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;277</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;                    {</pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;278</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;                        column.setAttribute(<span class="string">"javaName"</span>, name);</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;279</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;                    }</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;280</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;</pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;281</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;                    column.setAttribute(<span class="string">"type"</span>, TypeMap.getTorqueType(type).getName());</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;282</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;</pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;283</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;                    <span class="keyword">if</span> (size &#62; 0 &#38;&#38; (type.intValue() == Types.CHAR</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;284</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;                            || type.intValue() == Types.VARCHAR</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;285</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;                            || type.intValue() == Types.LONGVARCHAR</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;286</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;                            || type.intValue() == Types.DECIMAL</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;287</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;                            || type.intValue() == Types.NUMERIC))</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;288</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;                    {</pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;289</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;                        column.setAttribute(<span class="string">"size"</span>, String.valueOf(size));</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;290</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;                    }</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;291</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;</pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;292</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;                    <span class="keyword">if</span> (scale &#62; 0 &#38;&#38; (type.intValue() == Types.DECIMAL</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;293</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;                            || type.intValue() == Types.NUMERIC))</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;294</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;                    {</pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;295</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;                        column.setAttribute(<span class="string">"scale"</span>, String.valueOf(scale));</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;296</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;                    }</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;297</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;</pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;298</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;                    <span class="keyword">if</span> (nullType.intValue() == 0)</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;299</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;                    {</pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;300</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;                        column.setAttribute(<span class="string">"required"</span>, <span class="string">"true"</span>);</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;301</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;                    }</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;302</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;</pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;303</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;                    <span class="keyword">if</span> (primaryKeys.containsKey(name))</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;304</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;                    {</pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;305</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;                        column.setAttribute(<span class="string">"primaryKey"</span>, <span class="string">"true"</span>);</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;306</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;                    }</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;307</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;</pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;308</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;                    <span class="keyword">if</span> (StringUtils.isNotEmpty(defValue))</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;309</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;                    {</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;310</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;                        <span class="comment">// trim out parens &#38; quotes out of def value.</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;311</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;                        <span class="comment">// makes sense for MSSQL. not sure about others.</span></pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;312</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;                        <span class="keyword">if</span> (defValue.startsWith(<span class="string">"("</span>) &#38;&#38; defValue.endsWith(<span class="string">")"</span>))</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;313</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;                        {</pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;314</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;                            defValue = defValue.substring(1, defValue.length() - 1);</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;315</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;                        }</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;316</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;</pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;317</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;                        <span class="keyword">if</span> (defValue.startsWith(<span class="string">"'"</span>) &#38;&#38; defValue.endsWith(<span class="string">"'"</span>))</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;318</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;                        {</pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;319</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;                            defValue = defValue.substring(1, defValue.length() - 1);</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;320</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;                        }</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;321</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;</pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;322</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;                        column.setAttribute(<span class="string">"default"</span>, defValue);</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;323</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;                    }</pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;324</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;                    table.appendChild(column);</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;325</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;                }</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;326</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;327</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;                <span class="comment">// Foreign keys for this table.</span></pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;328</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;                <span class="keyword">for</span> (Iterator l = <span <span class="keyword">class</span>="keyword">for</span>gnKeys.iterator(); l.hasNext();)</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;329</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;                {</pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;330</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;                    Object[] forKey = (Object[]) l.next();</span></pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;331</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;                    String foreignKeyTable = (String) forKey[0];</span></pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;332</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;                    List refs = (List) forKey[1];</span></pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;333</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;                    Element fk = doc.createElement(<span class="string">"foreign-key"</span>);</span></pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;334</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;                    fk.setAttribute(<span class="string">"foreignTable"</span>, foreignKeyTable);</span></pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;335</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;                    <span class="keyword">for</span> (<span class="keyword">int</span> m = 0; m &#60; refs.size(); m++)</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;336</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;                    {</pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;337</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;                        Element ref = doc.createElement(<span class="string">"reference"</span>);</span></pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;338</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;                        String[] refData = (String[]) refs.get(m);</span></pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;339</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;                        ref.setAttribute(<span class="string">"local"</span>, refData[0]);</span></pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;340</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;                        ref.setAttribute(<span class="string">"foreign"</span>, refData[1]);</span></pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;341</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;                        fk.appendChild(ref);</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;342</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;                    }</pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;343</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;                    table.appendChild(fk);</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;344</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;                }</pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;345</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;                databaseNode.appendChild(table);</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;346</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;            }</pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;347</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;            doc.appendChild(databaseNode);</span></pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;348</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;        }</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;349</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;        <span class="keyword">finally</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;350</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;        {</pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;351</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;            <span class="keyword">if</span> (con != <span class="keyword">null</span>)</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;352</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;            {</pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;353</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;                con.close();</span></pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;354</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;                con = <span class="keyword">null</span>;</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;355</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;            }</pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;356</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;        }</span></pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;357</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;    }</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;358</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;359</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;    <span class="comment">/*<span class="comment">*</span></span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;360</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * Get all the table names in the current database that are not</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;361</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * system tables.</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;362</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     *</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;363</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * @param dbMeta JDBC database metadata.</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;364</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * @return The list of all the tables in a database.</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;365</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * @throws SQLException</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;366</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     */</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;367</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;    <span class="keyword">public</span> List getTableNames(DatabaseMetaData dbMeta)</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;368</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;        throws SQLException</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;369</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;    {</pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;370</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;        log(<span class="string">"Getting table list..."</span>);</span></pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;371</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;        List tables = <span class="keyword">new</span> ArrayList();</span></pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;372</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;        ResultSet tableNames = <span class="keyword">null</span>;</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;373</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;        <span class="comment">// these are the entity types we want from the database</span></pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;374</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;        String[] types = {<span class="string">"TABLE"</span>, <span class="string">"VIEW"</span>};</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;375</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;        <span class="keyword">try</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;376</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;        {</pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;377</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;            tableNames = dbMeta.getTables(<span class="keyword">null</span>, dbSchema, <span class="string">"%"</span>, types);</span></pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;378</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;            <span class="keyword">while</span> (tableNames.next())</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;379</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;            {</pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;380</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;                String name = tableNames.getString(3);</span></pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;381</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;                tables.add(name);</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;382</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;            }</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;383</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;        }</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;384</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;        <span class="keyword">finally</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;385</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;        {</pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;386</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;            <span class="keyword">if</span> (tableNames != <span class="keyword">null</span>)</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;387</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;            {</pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;388</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;                tableNames.close();</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;389</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;            }</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;390</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;        }</pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;391</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;        <span class="keyword">return</span> tables;</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;392</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;    }</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;393</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;394</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;    <span class="comment">/*<span class="comment">*</span></span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;395</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * Retrieves all the column names and types for a given table from</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;396</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * JDBC metadata.  It returns a List of Lists.  Each element</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;397</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * of the returned List is a List with:</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;398</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     *</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;399</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * element 0 =&#62; a String object for the column name.</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;400</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * element 1 =&#62; an Integer object for the column type.</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;401</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * element 2 =&#62; size of the column.</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;402</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * element 3 =&#62; null type.</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;403</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     *</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;404</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * @param dbMeta JDBC metadata.</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;405</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * @param tableName Table from which to retrieve column information.</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;406</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * @return The list of columns in &#60;code&#62;tableName&#60;/code&#62;.</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;407</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * @throws SQLException</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;408</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     */</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;409</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;    <span class="keyword">public</span> List getColumns(DatabaseMetaData dbMeta, String tableName)</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;410</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;            throws SQLException</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;411</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;    {</pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;412</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;        List columns = <span class="keyword">new</span> ArrayList();</span></pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;413</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;        ResultSet columnSet = <span class="keyword">null</span>;</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;414</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;        <span class="keyword">try</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;415</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;        {</pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;416</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;            columnSet = dbMeta.getColumns(<span class="keyword">null</span>, dbSchema, tableName, <span <span class="keyword">class</span>="keyword">null</span>);</span></pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;417</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;            <span class="keyword">while</span> (columnSet.next())</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;418</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;            {</pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;419</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;                String name = columnSet.getString(4);</span></pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;420</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;                Integer sqlType = <span class="keyword">new</span> Integer(columnSet.getString(5));</span></pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;421</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;                Integer size = <span class="keyword">new</span> Integer(columnSet.getInt(7));</span></pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;422</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;                Integer decimalDigits = <span class="keyword">new</span> Integer(columnSet.getInt(9));</span></pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;423</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;                Integer nullType = <span class="keyword">new</span> Integer(columnSet.getInt(11));</span></pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;424</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;                String defValue = columnSet.getString(13);</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;425</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;</pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;426</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;                List col = <span class="keyword">new</span> ArrayList(6);</span></pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;427</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;                col.add(name);</span></pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;428</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;                col.add(sqlType);</span></pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;429</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;                col.add(size);</span></pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;430</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;                col.add(nullType);</span></pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;431</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;                col.add(defValue);</span></pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;432</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;                col.add(decimalDigits);</span></pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;433</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;                columns.add(col);</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;434</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;            }</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;435</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;        }</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;436</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;        <span class="keyword">finally</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;437</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;        {</pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;438</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;            <span class="keyword">if</span> (columnSet != <span class="keyword">null</span>)</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;439</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;            {</pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;440</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;                columnSet.close();</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;441</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;            }</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;442</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;        }</pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;443</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;        <span class="keyword">return</span> columns;</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;444</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;    }</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;445</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;446</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;    <span class="comment">/*<span class="comment">*</span></span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;447</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * Retrieves a list of the columns composing the primary key for a given</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;448</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * table.</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;449</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     *</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;450</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * @param dbMeta JDBC metadata.</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;451</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * @param tableName Table from which to retrieve PK information.</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;452</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * @return A list of the primary key parts for &#60;code&#62;tableName&#60;/code&#62;.</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;453</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * @throws SQLException</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;454</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     */</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;455</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;    <span class="keyword">public</span> List getPrimaryKeys(DatabaseMetaData dbMeta, String tableName)</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;456</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;            throws SQLException</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;457</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;    {</pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;458</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;        List pk = <span class="keyword">new</span> ArrayList();</span></pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;459</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;        ResultSet parts = <span class="keyword">null</span>;</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;460</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;        <span class="keyword">try</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;461</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;        {</pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;462</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;            parts = dbMeta.getPrimaryKeys(<span class="keyword">null</span>, dbSchema, tableName);</span></pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;463</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;            <span class="keyword">while</span> (parts.next())</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;464</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;            {</pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;465</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;                pk.add(parts.getString(4));</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;466</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;            }</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;467</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;        }</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;468</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;        <span class="keyword">finally</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;469</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;        {</pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;470</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;            <span class="keyword">if</span> (parts != <span class="keyword">null</span>)</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;471</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;            {</pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;472</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;                parts.close();</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;473</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;            }</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;474</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;        }</pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;475</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;        <span class="keyword">return</span> pk;</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;476</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;    }</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;477</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;478</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;    <span class="comment">/*<span class="comment">*</span></span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;479</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * Retrieves a list of foreign key columns for a given table.</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;480</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     *</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;481</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * @param dbMeta JDBC metadata.</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;482</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * @param tableName Table from which to retrieve FK information.</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;483</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * @return A list of foreign keys in &#60;code&#62;tableName&#60;/code&#62;.</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;484</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * @throws SQLException</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;485</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     */</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;486</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;    <span class="keyword">public</span> Collection getForeignKeys(DatabaseMetaData dbMeta, String tableName)</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;487</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;        throws SQLException</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;488</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;    {</pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;489</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;        Hashtable fks = <span class="keyword">new</span> Hashtable();</span></pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;490</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;        ResultSet foreignKeys = <span class="keyword">null</span>;</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;491</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;        <span class="keyword">try</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;492</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;        {</pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;493</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;            foreignKeys = dbMeta.getImportedKeys(<span class="keyword">null</span>, dbSchema, tableName);</span></pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;494</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;            <span class="keyword">while</span> (foreignKeys.next())</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;495</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;            {</pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;496</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;                String refTableName = foreignKeys.getString(3);</span></pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;497</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;                String fkName = foreignKeys.getString(12);</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;498</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;                <span class="comment">// if FK has no name - make it up (use tablename instead)</span></pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;499</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;                <span class="keyword">if</span> (fkName == <span class="keyword">null</span>)</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;500</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;                {</pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;501</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;                    fkName = refTableName;</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;502</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;                }</pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;503</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;                Object[] fk = (Object[]) fks.get(fkName);</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;504</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;                List refs;</pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;505</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;                <span class="keyword">if</span> (fk == <span class="keyword">null</span>)</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;506</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;                {</pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;507</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;                    fk = <span class="keyword">new</span> Object[2];</span></pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;508</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;                    fk[0] = refTableName; <span class="comment">//referenced table name</span></span></pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;509</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;                    refs = <span class="keyword">new</span> ArrayList();</span></pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;510</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;                    fk[1] = refs;</span></pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;511</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;                    fks.put(fkName, fk);</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;512</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;                }</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;513</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;                <span class="keyword">else</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;514</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;                {</pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;515</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;                    refs = (ArrayList) fk[1];</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;516</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;                }</pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;517</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;                String[] ref = <span class="keyword">new</span> String[2];</span></pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;518</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;                ref[0] = foreignKeys.getString(8); <span class="comment">//local column</span></span></pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;519</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;                ref[1] = foreignKeys.getString(4); <span class="comment">//foreign column</span></span></pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;520</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;                refs.add(ref);</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;521</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;            }</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;522</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;        }</pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;523</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;        <span class="keyword">catch</span> (SQLException e)</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;524</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;        {</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;525</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;            <span class="comment">// this seems to be happening in some db drivers (sybase)</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;526</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;            <span class="comment">// when retrieving foreign keys from views.</span></pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;527</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;            log(<span class="string">"WARN: Could not read foreign keys for Table "</span></span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;528</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;                        + tableName</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;529</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;                        + <span class="string">" : "</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;530</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;                        + e.getMessage(),</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;531</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;                    Project.MSG_WARN);</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;532</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;        }</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;533</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;        <span class="keyword">finally</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;534</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;        {</pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;535</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;            <span class="keyword">if</span> (foreignKeys != <span class="keyword">null</span>)</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;536</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;            {</pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;537</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;                foreignKeys.close();</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;538</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;            }</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;539</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;        }</pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;540</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;        <span class="keyword">return</span> fks.values();</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;541</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;    }</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;542</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;}</pre></td>
    </tr>
  </table>
<p><table cellpadding="0" cellspacing="0" class="report">  <tr class="report">    <td class="reportText"><span class="text">    This report is generated by <a href="http://www.jcoverage.com">jcoverage</a>, <a href="http://maven.apache.org">Maven</a> and <a href="http://maven.apache.org/reference/plugins/jcoverage/">Maven JCoverage Plugin</a>.    </span></td>  </tr></table>
</body>
</html>
